package de.hm.edu.kpi;

import javax.xml.bind.JAXBElement;
import javax.xml.bind.annotation.XmlElementDecl;

public interface IObjectFactory {

	/**
	 * Create an instance of {@link KeyIndicator }
	 * 
	 */
	public abstract KeyIndicator createKeyIndicator();

	/**
	 * Create an instance of {@link Axis }
	 * 
	 */
	public abstract Axis createAxis();

	/**
	 * Create an instance of {@link Point }
	 * 
	 */
	public abstract Point createPoint();

	/**
	 * Create an instance of {@link PieChart }
	 * 
	 */
	public abstract PieChart createPieChart();

	/**
	 * Create an instance of {@link LineValueSeries }
	 * 
	 */
	public abstract LineValueSeries createLineValueSeries();

	/**
	 * Create an instance of {@link LineChart }
	 * 
	 */
	public abstract LineChart createLineChart();

	/**
	 * Create an instance of {@link PieValueSeries }
	 * 
	 */
	public abstract PieValueSeries createPieValueSeries();

	/**
	 * Create an instance of {@link JAXBElement }{@code <}{@link KeyIndicator }{@code >}}
	 * 
	 */
	@XmlElementDecl(namespace = "http://www.hm.edu/kinamespace", name = "keyIndicator")
	public abstract JAXBElement<KeyIndicator> createKeyIndicator(
			KeyIndicator value);

}